package com.im.service.investPlan.smo;

import java.util.List;
import java.util.Map;

import com.im.service.dto.InvestPlan;
import com.im.service.dto.InvestStatic;
import com.im.service.dto.PageQuery;
import com.im.service.dto.PlanDeclareSet;
import com.im.viewmodel.fundPlan.FundDetailVo;
import com.im.viewmodel.fundPlan.InvestPlanRspVo;

import net.sf.json.JSONObject;

public interface IInvestPlanQuerySMO {
	public PageQuery<PlanDeclareSet> queryInvestPlanSetList(String  injson);
	
	public PlanDeclareSet queryInvestPlanSetDetail(Map<String, Object> param);
	
	public List<JSONObject> queryProjectAndTotalFoundSource(String impleProjId, String declareType);

	public List<PlanDeclareSet> queryDeclareSetIdsForList(String declareType);

	public Map<String,String> queryDeclareSetIds(String declareType);

	public PageQuery<InvestPlan> queryInvestPlanList(String injson, List<String> typelist);

	public PageQuery<InvestPlanRspVo> queryInvestPlanListNew(String inJson, List<String> typelist) throws Exception;
	
	public InvestPlan queryInvestPlanDetail(String  injson);

	public PageQuery<InvestStatic> queryInvestPlanStatic(String inJson);

	/**
	 * 资金批复，绿色通道页面，查询接口
	 * @param inJson
	 * @return
	 * @throws Exception
	 */
	InvestPlanRspVo queryInvestPlanForGreen(String inJson) throws Exception;

	List<String> queryExistedImpleProjList(String inJson) throws Exception;

	public List<FundDetailVo> queryFourFundSource(String impleProjId, String fundSourceObjId, String yearDt)
			throws Exception;
}
